package Clases_basicas;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class JPanelBackground extends JPanel {
	private Image imagen;
	private boolean reescalar;

	public JPanelBackground() {
	}

	public JPanelBackground(String nombreImagen) {

		if (nombreImagen != null) {
			imagen = new ImageIcon(getClass().getResource(nombreImagen))
					.getImage();

			reescalar = false;
		}
	}

	public JPanelBackground(Image imagenInicial) {
		if (imagenInicial != null) {
			imagen = imagenInicial;
			reescalar = true;
		}
	}

	public void setImagen(String nombreImagen) {
		if (nombreImagen != null) {
			imagen = new ImageIcon(getClass().getResource(nombreImagen))
					.getImage();
		} else {
			imagen = null;
		}

		repaint();
	}

	public void setImagen(Image nuevaImagen) {
		imagen = nuevaImagen;

		repaint();
	}

	@Override
	public void paint(Graphics g) {

		if (imagen != null && !reescalar) {
			g.drawImage(imagen, 0, 0, this);

			setOpaque(false);
		} else if (imagen != null && reescalar) {
			g.drawImage(imagen, 0, 0, getWidth(), getHeight(), this);

			setOpaque(false);
		} else {
			setOpaque(true);
		}

		super.paint(g);

	}
}
